A P2P network is made up of multiple interconnected nodes which are known as peers. In a P2P network, each peer contributes its capabilities, and all the peers work together to provide P2P network services. Currently, the P2P network services include distributed storage services and distributed transmission services. Unlike the nodes in a traditional client/server architecture, all nodes in a P2P network are peers, and the peers that make up the P2P network provide services in distributed mode. The peers that make up the P2P network have a unique identifier called “peer-ID” in the P2P network. The resources stored in the P2P network through the distributed storage services have their independent identifier called “resource-ID” in the P2P network. The P2P network uses the identifiers (namely, peer-IDs and resource-IDs) for routing. When deciding the route of forwarding, a peer in the P2P network selects a peer in its P2P network routing table, and uses the selected peer as the next hop of the P2P network route, where the selected peer has a peer-ID which is closer to the destination ID. Currently, three P2P network routing modes (also known as forwarding modes) are available: iterative mode, recursive mode, and semi-recursive mode. The iterative mode differs from the recursive mode and the semi-recursive mode in that: In iterative mode, the intermediate peer does not forward packets, but notifies the found next hop to the source peer, and then the source peer communicates with the next hop. This process is repeated until the packets arrive at the destination peer. In recursive or semi-recursive mode, however, each intermediate peer forwards the packets to the found next hop directly, and repeats forwarding until the packets arrive at the destination peer. In recursive mode, the reply message is returned by the destination peer along the forwarding path to an upstream peer until the source peer, and the reply message is forwarded through intermediate peers. In semi-recursive mode, the reply message is sent by the destination peer to the source peer directly, without being forwarded by the intermediate peers.
The P2P network is characterized by self organization and self management. The peers in the P2P network can join and leave the P2P network freely, which makes the P2P network highly extensible. Meanwhile, in the P2P network, multiple peers work together to provide services, thus avoiding single-point failure in the traditional client/server architecture. Although the fault of a peer does not affect all peers in the P2P network, the fault makes some peers unable to obtain P2P network services, namely, leads to deterioration of the Quality of Service (QoS) of the P2P network or even service interruption within a period. The distributed feature of the P2P network makes it hard to detect or handle the faults (such as peer failure, peer congestion, and forwarding error) on the forwarding path. Although the maintenance and management system of the existing P2P network can detect and locate the join and leave of the peers, no corresponding mechanism is available for detecting and handling the faults of the peers, which affects the P2P network services.